package me.xiaosiqi.service.system;


import com.github.pagehelper.PageInfo;
import me.xiaosiqi.domain.system.Module;

import java.util.List;
import java.util.Map;

public interface ModuleService {

    /**
     * 添加
     * @param module
     *
     */
    void save(Module module);

    /**
     * 删除
     * @param module
     *
     */
    void delete(Module module);

    /**
     * 修改
     * @param module
     *
     */
    void update(Module module);

    /**
     * 根据id查找
     * @param id
     * @return
     */
    Module findById(String id);

    /**
     * 查询所有
     * @return
     */
    List<Module> findAll();


    /**
     * 分页查询数据
     * @param page 页码
     * @param size 每页显示的数据总量
     * @return
     */
    PageInfo findPage(int page, int size);

    /**
     * 查询角色id所对应的可操作的模块
     * @param id
     * @return
     */
    List<Map> findAuthorDataByRoleId(String id);

    /**
     * 建立角色与模块之间的关联
     * @param roleId 角色id
     * @param moduleIds 模块id（多个）
     */
    void updateRoleModule(String roleId, String[] moduleIds);

}
